package cn.lysj.framework.common.utils.web;

import lombok.Data;

/**
 * @author soul 服务器向客户端响应的domain对象
 */
@Data
public class Resp {

	public final static Integer SUCCESS = 200; // 成功

	public final static Integer NO_LOGIN = 401; // 还没有登录

	public final static Integer NO_ACCESS = 403;// 没有权限

	public final static Integer PARAM_ERROR = 412; // 参数错误

	public final static Integer TOKEN_ERROR = 422; // Token错误

	public final static Integer INNER_ERROR = 500; // 系统内部错误


	/**
	 * 结果:结果码
	 */
	private Integer code;

	/**
	 * 提示信息
	 */
	private String msg;

	/**
	 * 响应的对象
	 */
	private Object obj;

	/**
	 * 此构造器创建一个消息提示对象【状态，消息】
	 *
	 * @param result
	 * @param code
	 * @param msg
	 */
	public Resp(Integer code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	/**
	 * 此构造器创建一个成功消息提示对象【消息】
	 *
	 * @param result
	 * @param code
	 * @param msg
	 */
	public Resp(String msg) {
		this.code = Resp.SUCCESS;
		this.msg = msg;
	}

	/**
	 * 此构造器创建一个成功响应对象(对象或者集合)【对象，消息】
	 */
	public Resp(Object obj, String msg) {
		this.code = Resp.SUCCESS;
		this.msg = msg;
		this.obj = obj;
	}

	/**
	 * 此构造器创建一个成功响应对象(对象或者集合)【对象】
	 */
	public Resp(Object obj) {
		this.code = Resp.SUCCESS;
		this.msg = "success";
		this.obj = obj;
	}

	/**
	 * 此构造器创建一个通用响应对象【状态码,消息,对象】
	 */
	public Resp(Integer code, String msg, Object obj) {
		this.code = code;
		this.msg = msg;
		this.obj = obj;
	}

}
